Docs/Configuration

Configuration

Storage layout, agent behavior, search threshold, and multi-project setup.

Storage layout

All data lives in your home directory. Nothing is added to your project repo.

~/.decisionnode/
  .env                          # Gemini API key
  config.json                   # Global settings (agent behavior, threshold)
  .decisions/
    _global/                    # Global decisions (shared across all projects)
      ui.json
      vectors.json
    MyProject/
      ui.json                   # Decisions scoped to "UI"
      backend.json              # Decisions scoped to "Backend"
      vectors.json              # Embedding vectors for semantic search
      history/
        activity.json           # Audit log of all changes

Each scope becomes its own JSON file. Vector embeddings are cached in vectors.json so they don't need to be regenerated on every search.

Multiple projects

Each project is identified by its directory name. When you run decide init, a folder is created at ~/.decisionnode/.decisions/<dirname>/.

decide projects

The MCP server resolves the project automatically based on the working directory of the AI client.

Agent behavior

Changes the search_decisions tool description that the MCP server sends to the AI. The AI reads this description to decide when to call the tool:

decide config agent-behavior strict    # AI must search before ANY code change (default)
decide config agent-behavior relaxed  # AI searches when it thinks it's relevant

This works by changing the tool description that the MCP server sends to the AI client. AI agents read tool descriptions to decide when to call each tool:

  • strict — the search_decisions tool description tells the AI it is mandatory to search before any code change. The AI will call it before every feature, bug fix, refactor, or styling task.
  • relaxed — the description tells the AI to search only for significant changes or when unsure about conventions. The AI uses its own judgment for smaller tasks.

After changing this setting, restart your MCP server (or reconnect your AI client) for the new description to take effect. Run decide config with no arguments to view the current setting.

Search threshold

Sets the minimum similarity score (0.0–1.0) for search results. Anything below this threshold is filtered out and not returned — from both the CLI and MCP search_decisions.

decide config search-threshold           # View current (default: 0.3)
decide config search-threshold 0.5       # Stricter — only 50%+ similarity
decide config search-threshold 0.2       # More permissive

How to think about the values:

  • 0.2–0.3 — permissive. Returns loosely related decisions. Good if you have few decisions and want to surface anything potentially relevant.
  • 0.4–0.5 — moderate. Only meaningfully related decisions come back.
  • 0.6+ — strict. Only very closely related decisions. Useful if you have many decisions and want to reduce noise.

Unlike agent behavior, this takes effect immediately — no MCP restart needed. The threshold is applied inside findRelevantDecisions() after scoring.